001って書いてるけどたぶん続かない...続いたら困る。
(SIRはSecurit Incident Report)
なんて前回のSIRで書いてたのに2回目。しかも反陽子爆弾級のやらかし。
メモ(Twitterモーメント)
https://twitter.com/i/events/1506974750937325568
要約
- MT脆弱性突かれてハックされた
- バージョンアップ放置してた(最初の修正版6.8.3から5ヶ月、完全修正版6.8.5から3ヶ月)
- 思ってたより影響大かもしれない
文鳥可愛い。まどマギ好き。SEやってます。
001って書いてるけどたぶん続かない...続いたら困る。
(SIRはSecurit Incident Report)
なんて前回のSIRで書いてたのに2回目。しかも反陽子爆弾級のやらかし。
メモ(Twitterモーメント)
https://twitter.com/i/events/1506974750937325568
要約
当ブログをMovable Typeによる自前ホスティングに移行する前の、「さくらのブログ」URL(sblo.mcrn.jp)からの転送を、2016年10月23日をもって終了します。
以降は、sblo.mcrn.jpサブドメイン自体が廃止となり、アクセス不能になります。
ブックマーク等に登録されている場合は、転送後URLの「mcrn.jp/blog/~」をブックマークし直してください。
当ブログのブログエンジン?をMovable Type 6.2→6.3にバージョンアップしました。
PHP 7 と MySQL 5.7 に対応した最新版 Movable Type 6.3 の提供を開始 | Movable Type ニュース
...閲覧する側にはほとんど変化ないはずだけど。
唯一関係するのは、MT6.2でいつのまにかこっそり追加されてた画像の品質変換を無効にするフラグが追加されたこと。
もちろん即無効に。せっかくローカルで画質調整してるのに、勝手に変換しないでほしい。
以降、メモなので蛇足。
脚注を記述できる MovableType プラグイン:Footnote - Open MagicVox.net
私は結構脚注(※1)を使うんだけど、今まではずっと手動で記事末尾や段落の下に書き入れてた。
でも、それだと後で注釈が増えたときに番号を付け直さないと行けなかったり、本文と脚注が同じような見た目で分かりづらかったりして、いろいろと面倒。
そこで、いいプラグインがないか探してみたところ、上記の「Footnote」を発見。
早速これを導入してテンプレートを書き換え。
あとは、Movable Typeの編集画面でHTML編集モードに切り替え(※2)、<footnote>(~)<footnote>で囲めばOK。
今朝は3時まで起きちゃったから、今夜こそ早く寝よう...と思ってたけど、どうしても弄りたくなってつい。
今日やったことは
これでほぼ機能としてはさくらのブログで有効にしてた分は使える状態になってるはず。
設定をいろいろ弄ってて、「あれ?これどこで変更するの?」となることはよくあるんだけど、何処を探しても、Googleで検索しても、一向に見つからない設定があったので、無理矢理MySQLでupdate文を発行して変更。
その1.MTAuthorBasename
「投稿者のベースネーム」という意味だけど、ユーザー情報の編集画面には「ユーザー名」と「表示名」しかない。
ユーザー名はログインID、表示名はブログ記事などに表示される投稿者名だけど、ベースネームはそのどちらとも違う。
これは、アップロードフォルダの選択肢の1つである「(ブログルート)/ベースネーム」で使われているのを確認(他で使ってるところは不明)
解決策:mt_authorテーブルのauthor_basenameを直接書き換え。パス名などに使われるので日本語は使わないほうが良いと思う。
その2.トラックバックのグローバル許可
トラックバックを許可しようと思って「設定」→「投稿」と進んでも、トラックバックのところに「ブログまたはシステム全体の設定でトラックバックが無効なためこのオプションは無視されます。」という警告が出ていて、無視してONにしても有効にならない。
システム全体の設定に無効化のスイッチはあるけど、もちろんそれはOFFになってる。
解決策:mt_blogのblog_allow_pingsを1にする。
ちなみにblog_allow_pings_defaultが設定画面にある「トラックバックを許可」の反映。
また、システム全体の無効化スイッチはmt_configにあるAllowPingsだと思う(未検証)。
懸念だったデザイン・レイアウトもほぼ固まってきたし、旧ブログ(約定期blog GS)からの記事インポートも完了。
デザインは結局RainierをベースにレスポンシブWebについて調べて弄りまくってたら原型がなくなってきたので、もうほぼ完全にオリジナルテーマ。
この記事を投稿する時点ではまだRainier由来の部分が残ってるけど、完全に移行するときには撤去する予定。
そもそも、現状でもすでにRainierのテーマCSSを使わずテンプレート内で合成して単一のstyle.cssを生成するようにしてるし、テンプレートもdiv#wrapperとか追加して記事幅可変に対応させたし、ナビゲーションメニューはモバイルでもドロップダウンにしないようにしたし、StyleCatcherも使えないようにしたので、中途半端に残ってても意味がないどころか害悪になるかもしれない。
もちろん、Rainierも十分いいテーマだと思うし、少ない労力で見栄えの良いサイトを作ったり、同じ基礎デザインを元にパッチ方式でテーマを作ったりする分にはいいんだけど、細かいところまで詰めようとするとやっぱり不十分。
もっとも、そこまでやりこむならそもそもMovable TypeじゃなくてRails+自作CMSとかすればいいんだけど、現MCRNのあるさくらレンタルサーバ(スタンダード)ではPassenger等が使えないから無理。その辺はCVMUプロジェクト(VPS借りて先進技術で固めたWebサイトを作る)がうまくいったらまた考えようと思ってる。
Movable Type 6に付属のRainierをベースにいろいろと弄ってた。
いつもの悪い癖で、方針とか時間とか決めずにだらだら~っとやってたら、半日吹っ飛んでいまいちの成果。
しかもどこをどう弄ったのかよく分からない状態に。
今度はちゃんと決めてから取りかかろう…。
Movable Typeに移行&リニューアル予定のこのブログ。
移行計画はなかなか進んでないけど、それを良いことに新バージョンが出たのでさっそく適用。
今回はマイナーバージョンアップなので上書きでもよかったけど、念のためフルバージョンアップの手順で実行。
ついでにメモも作成。毎回公式手順探して確認するの面倒だし。
まあ、7.0とかになったらまた確認し直さないと行けないけど。
1.新しいMTのアーカイブ(zip)を取得
2.回答してtarに詰め直す
3.scpでアップロード
4.旧MTの実行ディレクトリをコピー
5.旧アーカイブ・スタティックのコピー
6.MT内から「ツール→バックアップ」
7.MySqlのバックアップ
mysqldump -u ユーザ名 -h ホスト名 -p db名 > バックアップファイル
8.3.でコピーした新MTを解凍
9.パーミッション修正
cd 新MTディレクトリ
find . -type f -print | xargs chmod 644
find . -type f -print | grep "\.cgi" | xargs chmod 755
find . -type f -print | grep "\.php" | xargs chmod 755
find . -type d -print | xargs chmod 755
※grepのバージョンはgrep (GNU grep) 2.5.1-FreeBSDだった。
10.旧MTをmvで別名にリネーム&新MTを旧MTにリネーム
mv mt/ mt60/
mv MT-6.2/ mt/
11.設定ファイルコピー
cp mt60/mt-config.cgi mt/
12.プラグインコピー
非対応・サポート終了などに注意。
※Loupeは使ってないし同梱されなくなったので移さなかった。
cp -a mt60/plugins/PostTweet/ mt/plugins/PostTweet/
13.サポートコピー
cp -a mt60/mt-static/support/ mt/mt-static/support/
14.テーマ
themes/以下に、追加したものがあれば。
今回は追加がなかったのでスキップ。
15.htaccess等
.htaccess、.htpasswdを使っていればそれもコピー
16.リビルドして確認
17.旧MTディレクトリをtarに詰めて退避&削除
問題が発覚したため、仕様変更。
VPS:さくらのVPS 2G(SSD)石狩リージョン
DB:MariaDB 10
Webサーバ:nginx
アプリケーションサーバ(Rails):Unicorn+rbenv+Ruby 2.2
アプリケーションサーバ(Perl):Perl 5.18+PSGI(Starman) → なし(保留)
CMS:Movable Type 6.2 → なし
問題というのは、現在「MCRN(mcrn.jp、さくらのレンタルサーバ スタンダード)」で進めている「さくらのブログ→Movable Type移行計画」(目的は、HSTS preload導入のためブログもHTTPS下に置くことと、アーカイブパス名等のより細かな制御)にMovable Typeを個人無償ライセンスで使っていて、「CVMU」は別サーバになるため別途正規ライセンスが必要になるけど、それが9万円もしてちょっと割に合わないこと。
さらに、「CVMU」の方針変更(人工知能・疑似人格関連の記事をCMSで発信→Web周りの技術を中心に実験)によりCMSを使わずフルスクラッチでRailsアプリとしてサイトを構築しようと思い直したので、MT6は入れないことに。
それに伴い、MT6実行環境として想定していたPerl+Starmanもキャンセル。将来的に必要になって入れるかもしれないけど、最初はできるだけ最小限の構成でスタートさせたい。